Importaçoes
import pandas as pd
import seaborn as sns
import numpy as np
import matplotlib.pyplot as plt
from sklearn.pipeline import Pipeline
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import RobustScaler, OneHotEncoder
from sklearn.tree import DecisionTreeRegressor
from sklearn.ensemble import AdaBoostRegressor, RandomForestRegressor
from sklearn.linear_model import LinearRegression, Ridge, Lasso
from sklearn.neural_network import MLPRegressor
from sklearn.svm import SVR
from sklearn.model_selection import cross_val_score
from sklearn.decomposition import PCA
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score, mean_absolute_percentage_error
import torch
from torch import nn, optim
from torch.utils.data import Dataset, DataLoader
from torch.optim.lr_scheduler import StepLR
import warnings
warnings.filterwarnings('ignore')
df = pd.read_csv('C:\\Users\\souza\\Downloads\\Projeto 2 -revisão de produtividade de funcionários\\garments_worker_productivity.csv')
df
| date | quarter | department | day | team | targeted_productivity | smv | wip | over_time | incentive | idle_time | idle_men | no_of_style_change | no_of_workers | actual_productivity | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1/1/2015 | Quarter1 | sweing | Thursday | 8 | 0.80 | 26.16 | 1108.0 | 7080 | 98 | 0.0 | 0 | 0 | 59.0 | 0.940725 |
| 1 | 1/1/2015 | Quarter1 | finishing | Thursday | 1 | 0.75 | 3.94 | NaN | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.886500 |
| 2 | 1/1/2015 | Quarter1 | sweing | Thursday | 11 | 0.80 | 11.41 | 968.0 | 3660 | 50 | 0.0 | 0 | 0 | 30.5 | 0.800570 |
| 3 | 1/1/2015 | Quarter1 | sweing | Thursday | 12 | 0.80 | 11.41 | 968.0 | 3660 | 50 | 0.0 | 0 | 0 | 30.5 | 0.800570 |
| 4 | 1/1/2015 | Quarter1 | sweing | Thursday | 6 | 0.80 | 25.90 | 1170.0 | 1920 | 50 | 0.0 | 0 | 0 | 56.0 | 0.800382 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 1192 | 3/11/2015 | Quarter2 | finishing | Wednesday | 10 | 0.75 | 2.90 | NaN | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.628333 |
| 1193 | 3/11/2015 | Quarter2 | finishing | Wednesday | 8 | 0.70 | 3.90 | NaN | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.625625 |
| 1194 | 3/11/2015 | Quarter2 | finishing | Wednesday | 7 | 0.65 | 3.90 | NaN | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.625625 |
| 1195 | 3/11/2015 | Quarter2 | finishing | Wednesday | 9 | 0.75 | 2.90 | NaN | 1800 | 0 | 0.0 | 0 | 0 | 15.0 | 0.505889 |
| 1196 | 3/11/2015 | Quarter2 | finishing | Wednesday | 6 | 0.70 | 2.90 | NaN | 720 | 0 | 0.0 | 0 | 0 | 6.0 | 0.394722 |
1197 rows × 15 columns
Estatistica descritiva
df.describe()
| team | targeted_productivity | smv | wip | over_time | incentive | idle_time | idle_men | no_of_style_change | no_of_workers | actual_productivity | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| count | 1197.000000 | 1197.000000 | 1197.000000 | 691.000000 | 1197.000000 | 1197.000000 | 1197.000000 | 1197.000000 | 1197.000000 | 1197.000000 | 1197.000000 |
| mean | 6.426901 | 0.729632 | 15.062172 | 1190.465991 | 4567.460317 | 38.210526 | 0.730159 | 0.369256 | 0.150376 | 34.609858 | 0.735091 |
| std | 3.463963 | 0.097891 | 10.943219 | 1837.455001 | 3348.823563 | 160.182643 | 12.709757 | 3.268987 | 0.427848 | 22.197687 | 0.174488 |
| min | 1.000000 | 0.070000 | 2.900000 | 7.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 2.000000 | 0.233705 |
| 25% | 3.000000 | 0.700000 | 3.940000 | 774.500000 | 1440.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 9.000000 | 0.650307 |
| 50% | 6.000000 | 0.750000 | 15.260000 | 1039.000000 | 3960.000000 | 0.000000 | 0.000000 | 0.000000 | 0.000000 | 34.000000 | 0.773333 |
| 75% | 9.000000 | 0.800000 | 24.260000 | 1252.500000 | 6960.000000 | 50.000000 | 0.000000 | 0.000000 | 0.000000 | 57.000000 | 0.850253 |
| max | 12.000000 | 0.800000 | 54.560000 | 23122.000000 | 25920.000000 | 3600.000000 | 300.000000 | 45.000000 | 2.000000 | 89.000000 | 1.120437 |
df.isnull().sum()
date 0 quarter 0 department 0 day 0 team 0 targeted_productivity 0 smv 0 wip 506 over_time 0 incentive 0 idle_time 0 idle_men 0 no_of_style_change 0 no_of_workers 0 actual_productivity 0 dtype: int64
#substituiçao de dados nulos pela mediana
df['wip'] = df['wip'].interpolate(method='linear', limit_direction='forward')
df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 1197 entries, 0 to 1196 Data columns (total 15 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 date 1197 non-null object 1 quarter 1197 non-null object 2 department 1197 non-null object 3 day 1197 non-null object 4 team 1197 non-null int64 5 targeted_productivity 1197 non-null float64 6 smv 1197 non-null float64 7 wip 1197 non-null float64 8 over_time 1197 non-null int64 9 incentive 1197 non-null int64 10 idle_time 1197 non-null float64 11 idle_men 1197 non-null int64 12 no_of_style_change 1197 non-null int64 13 no_of_workers 1197 non-null float64 14 actual_productivity 1197 non-null float64 dtypes: float64(6), int64(5), object(4) memory usage: 140.4+ KB
df['department'].value_counts()
department sweing 691 finishing 257 finishing 249 Name: count, dtype: int64
df['quarter'].value_counts()
quarter Quarter1 360 Quarter2 335 Quarter4 248 Quarter3 210 Quarter5 44 Name: count, dtype: int64
df['date'] = pd.to_datetime(df['date'])
EDA
Analise Univariada
#separaçao dados numericos e dados categoricos
num_col = df.select_dtypes(exclude=['object', 'datetime64[ns]'])
cat_col = df.select_dtypes(exclude=['number', 'datetime64[ns]']).columns
#distribuiçao dados categoricos
fig, axes = plt.subplots(3, 4, figsize=(15, 12))
axes = axes.flatten()
for i, cat in enumerate(cat_col):
sns.countplot(data=df, x=cat, ax=axes[i], palette='pastel')
axes[i].set_title(f'Gráfico {cat}')
axes[i].tick_params(axis='x', rotation=90)
for j in range(len(cat_col), 12):
axes[j].set_visible(False)
plt.tight_layout()
plt.show()
#distribuiçao dados numericos
fig, axes = plt.subplots(3, 4, figsize=(15, 12))
axes = axes.flatten()
for i, num in enumerate(num_col):
sns.histplot(df[num], kde=True, ax=axes[i], palette='pastel')
axes[i].set_title(f'grafico {num}')
for j in range(len(num_col), 9):
axes[j].set_visible(False)
plt.tight_layout()
plt.show()
#vizualizaçao em caixa colunas numericas
fig, axes = plt.subplots(3, 4, figsize=(15, 12))
axes = axes.flatten()
for i, num in enumerate(num_col):
sns.boxplot(df[num], ax=axes[i], palette='pastel')
axes[i].set_title(f'grafico {num}')
for j in range(len(num_col), 9):
axes[j].set_visible(False)
plt.tight_layout()
plt.subplots_adjust(top=1.5)
plt.show()
fig, axes = plt.subplots(3, 4, figsize=(15, 12))
axes = axes.flatten()
for i, num in enumerate(num_col):
sns.violinplot(df[num], ax=axes[i], palette='pastel')
axes[i].set_title(f'grafico {num}')
for j in range(len(num_col), 9):
axes[j].set_visible(False)
plt.tight_layout()
plt.show()
Analise Bivariada
#plot colunas cat x produtividade
fig, axes = plt.subplots(3, 4, figsize=(15, 12))
axes = axes.flatten()
for i, cat in enumerate(cat_col):
sns.boxplot(x=df[cat], y = df['actual_productivity'], ax=axes[i], palette='pastel')
axes[i].set_title(f'grafico {cat} x produtividade')
axes[i].tick_params(axis='x', rotation=90)
for j in range(len(cat_col), 12):
axes[j].set_visible(False)
plt.tight_layout()
plt.show()
df.columns
Index(['date', 'quarter', 'department', 'day', 'team', 'targeted_productivity',
'smv', 'wip', 'over_time', 'incentive', 'idle_time', 'idle_men',
'no_of_style_change', 'no_of_workers', 'actual_productivity'],
dtype='object')
#plot incentive x actual_productivity
df_dt = df[df.date <= pd.to_datetime('2015-03-08')]
plt.figure(figsize=(10,5))
plt.title('produtividade por incentivo')
line1 = sns.lineplot(x='date', y='actual_productivity', data=df_dt, ci= None, color='orange', legend=False, label = 'actual productivity' )
ax2 = line1.twinx()
line2 = sns.lineplot(x='date', y='incentive', data=df_dt, ci= None, color='darkgreen',ax=ax2, legend=False, label = 'incentive')
line1.figure.legend()
<matplotlib.legend.Legend at 0x26d8567f610>
#analise temporal actual_productivity x targeted_productivity
plt.figure(figsize=(10,5))
plt.title(' actual_productivity x targeted_productivity ')
sns.lineplot(data=df,x='date', y='actual_productivity', color='orange',label='actual')
sns.lineplot(data=df,x='date', y='targeted_productivity', color='green', label='target')
plt.legend()
plt.show()
#tempo de fabricaçao de peças por equipes
plt.figure(figsize=(10,5))
plt.title('tempo de fabricaçao de peças por equipe')
sns.barplot(data=df, x='team', y='smv', palette='pastel')
plt.show()
#items nao finalizados por equipes
plt.figure(figsize=(10,5))
plt.title('items nao finalizados por equipes')
sns.barplot(x=df['team'], y= df['wip'], palette='pastel')
plt.show()
#tempo maquina parada por equipe
plt.figure(figsize=(10,5))
plt.title('tempo maquinas paradas por equipes')
sns.barplot(x=df['team'], y=df['idle_time'], palette='pastel')
plt.show()
#tempo trabalhadores parados por equipes
plt.figure(figsize=(10,5))
plt.title('tempo trabalhadores parados por equipes')
sns.barplot(x=df['team'], y=df['idle_men'], palette='pastel')
plt.show()
#aqui selecionei algumas features que podem ter relaçao linear com a produtividade
#por exemplo:relacao temo para produzir uma peça x produtividade
some_features = ['smv', 'targeted_productivity', 'wip', 'over_time', 'incentive', 'idle_time', 'idle_men', 'no_of_workers'
]
#plotagem das features x produtividade
for i, prod in enumerate(some_features):
plt.figure()
plt.title(f'relaçao entre produtividade e {prod}')
sns.scatterplot(data=df, x=prod, y='actual_productivity', palette='pastel')
plt.tight_layout()
plt.show()
plt.figure(figsize=(10,5))
plt.title('relaçao horas extras trabalhadas x tempo padrao de produçao')
sns.scatterplot(x=df['smv'], y= df['over_time'])
plt.show()
#data x produtividade x departamento
plt.figure(figsize=(10,5))
plt.title('produtividade x departamento')
sns.lineplot(data=df, x='date', y='actual_productivity', hue='department')
plt.legend()
plt.show()
Analise Multivariada
fig, axes = plt.subplots(3, 4, figsize=(15, 12))
axes = axes.flatten()
for i, num in enumerate(num_col):
sns.violinplot(y=df[num], ax=axes[i], palette='pastel', hue=df['department'])
axes[i].set_title(f'grafico {num}')
for j in range(len(num_col), 9):
axes[j].set_visible(False)
plt.tight_layout()
plt.legend()
plt.show()
#analise time que recebeu maior incentivo x produtividae
plt.figure(figsize=(10,5))
plt.title('time que recebeu maior incentivo x produtividade')
sns.scatterplot(data=df, x='actual_productivity', y='incentive', hue='team', palette='bright')
plt.show()
#matriz de correlaçao entre variaveis
plt.figure(figsize=(10,5))
plt.title('matriz de correlaçao')
sns.heatmap(num_col.corr(),annot=True, cmap='coolwarm', fmt='.2f', linewidths=0.5, cbar=True)
plt.show()
Criaçao de novas features
df.columns
Index(['date', 'quarter', 'department', 'day', 'team', 'targeted_productivity',
'smv', 'wip', 'over_time', 'incentive', 'idle_time', 'idle_men',
'no_of_style_change', 'no_of_workers', 'actual_productivity'],
dtype='object')
#criaçao de novas features
df['prod_per_worker'] = df['actual_productivity']/df['no_of_workers']
df['diference_prod_targeted_actual'] = df['actual_productivity'] - df['targeted_productivity']
df['time_per_worker'] = df['smv']/ df['no_of_workers']
df['idle_men_percent'] = df['idle_men']/df['no_of_workers']
df
| date | quarter | department | day | team | targeted_productivity | smv | wip | over_time | incentive | idle_time | idle_men | no_of_style_change | no_of_workers | actual_productivity | prod_per_worker | diference_prod_targeted_actual | time_per_worker | idle_men_percent | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2015-01-01 | Quarter1 | sweing | Thursday | 8 | 0.80 | 26.16 | 1108.0 | 7080 | 98 | 0.0 | 0 | 0 | 59.0 | 0.940725 | 0.015944 | 0.140725 | 0.443390 | 0.0 |
| 1 | 2015-01-01 | Quarter1 | finishing | Thursday | 1 | 0.75 | 3.94 | 1038.0 | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.886500 | 0.110812 | 0.136500 | 0.492500 | 0.0 |
| 2 | 2015-01-01 | Quarter1 | sweing | Thursday | 11 | 0.80 | 11.41 | 968.0 | 3660 | 50 | 0.0 | 0 | 0 | 30.5 | 0.800570 | 0.026248 | 0.000570 | 0.374098 | 0.0 |
| 3 | 2015-01-01 | Quarter1 | sweing | Thursday | 12 | 0.80 | 11.41 | 968.0 | 3660 | 50 | 0.0 | 0 | 0 | 30.5 | 0.800570 | 0.026248 | 0.000570 | 0.374098 | 0.0 |
| 4 | 2015-01-01 | Quarter1 | sweing | Thursday | 6 | 0.80 | 25.90 | 1170.0 | 1920 | 50 | 0.0 | 0 | 0 | 56.0 | 0.800382 | 0.014293 | 0.000382 | 0.462500 | 0.0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 1192 | 2015-03-11 | Quarter2 | finishing | Wednesday | 10 | 0.75 | 2.90 | 935.0 | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.628333 | 0.078542 | -0.121667 | 0.362500 | 0.0 |
| 1193 | 2015-03-11 | Quarter2 | finishing | Wednesday | 8 | 0.70 | 3.90 | 935.0 | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.625625 | 0.078203 | -0.074375 | 0.487500 | 0.0 |
| 1194 | 2015-03-11 | Quarter2 | finishing | Wednesday | 7 | 0.65 | 3.90 | 935.0 | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.625625 | 0.078203 | -0.024375 | 0.487500 | 0.0 |
| 1195 | 2015-03-11 | Quarter2 | finishing | Wednesday | 9 | 0.75 | 2.90 | 935.0 | 1800 | 0 | 0.0 | 0 | 0 | 15.0 | 0.505889 | 0.033726 | -0.244111 | 0.193333 | 0.0 |
| 1196 | 2015-03-11 | Quarter2 | finishing | Wednesday | 6 | 0.70 | 2.90 | 935.0 | 720 | 0 | 0.0 | 0 | 0 | 6.0 | 0.394722 | 0.065787 | -0.305278 | 0.483333 | 0.0 |
1197 rows × 19 columns
new_features = ['prod_per_worker','diference_prod_targeted_actual', 'time_per_worker', 'idle_men_percent']
#distribuiçao de novas features
for hist in new_features:
plt.figure(figsize=(10,5))
plt.title(f'histograma {hist}')
sns.histplot(df[hist], kde=True)
plt.show()
new_num_col = df.select_dtypes(exclude=['object', 'datetime64[ns]'])
new_num_col
| team | targeted_productivity | smv | wip | over_time | incentive | idle_time | idle_men | no_of_style_change | no_of_workers | actual_productivity | prod_per_worker | diference_prod_targeted_actual | time_per_worker | idle_men_percent | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 8 | 0.80 | 26.16 | 1108.0 | 7080 | 98 | 0.0 | 0 | 0 | 59.0 | 0.940725 | 0.015944 | 0.140725 | 0.443390 | 0.0 |
| 1 | 1 | 0.75 | 3.94 | 1038.0 | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.886500 | 0.110812 | 0.136500 | 0.492500 | 0.0 |
| 2 | 11 | 0.80 | 11.41 | 968.0 | 3660 | 50 | 0.0 | 0 | 0 | 30.5 | 0.800570 | 0.026248 | 0.000570 | 0.374098 | 0.0 |
| 3 | 12 | 0.80 | 11.41 | 968.0 | 3660 | 50 | 0.0 | 0 | 0 | 30.5 | 0.800570 | 0.026248 | 0.000570 | 0.374098 | 0.0 |
| 4 | 6 | 0.80 | 25.90 | 1170.0 | 1920 | 50 | 0.0 | 0 | 0 | 56.0 | 0.800382 | 0.014293 | 0.000382 | 0.462500 | 0.0 |
| ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
| 1192 | 10 | 0.75 | 2.90 | 935.0 | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.628333 | 0.078542 | -0.121667 | 0.362500 | 0.0 |
| 1193 | 8 | 0.70 | 3.90 | 935.0 | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.625625 | 0.078203 | -0.074375 | 0.487500 | 0.0 |
| 1194 | 7 | 0.65 | 3.90 | 935.0 | 960 | 0 | 0.0 | 0 | 0 | 8.0 | 0.625625 | 0.078203 | -0.024375 | 0.487500 | 0.0 |
| 1195 | 9 | 0.75 | 2.90 | 935.0 | 1800 | 0 | 0.0 | 0 | 0 | 15.0 | 0.505889 | 0.033726 | -0.244111 | 0.193333 | 0.0 |
| 1196 | 6 | 0.70 | 2.90 | 935.0 | 720 | 0 | 0.0 | 0 | 0 | 6.0 | 0.394722 | 0.065787 | -0.305278 | 0.483333 | 0.0 |
1197 rows × 15 columns
Matriz correlaçao
#plotando nova matriz de correlaçao
plt.figure(figsize=(10,5))
plt.title('matriz correlaçao com novos dados')
sns.heatmap(new_num_col.corr(), annot=True, cmap='coolwarm', fmt='.2f', linewidths=0.5, cbar=True)
plt.show
<function matplotlib.pyplot.show(close=None, block=None)>
Modelagem
#colocando data como index
df = df.set_index(df['date'])
df = df.drop('date', axis=1)
df.columns
Index(['quarter', 'department', 'day', 'team', 'targeted_productivity', 'smv',
'wip', 'over_time', 'incentive', 'idle_time', 'idle_men',
'no_of_style_change', 'no_of_workers', 'actual_productivity',
'prod_per_worker', 'diference_prod_targeted_actual', 'time_per_worker',
'idle_men_percent'],
dtype='object')
#escolhendo x e y
x = df.drop('actual_productivity', axis=1)
y = df['actual_productivity']
x.shape, y.shape
((1197, 17), (1197,))
#split
split_size = 0.9
train_size = int(len(df) * split_size)
x_train, x_test = x[:train_size], x[train_size:]
y_train, y_test = y[:train_size], y[train_size:]
x_train.shape, x_test.shape
((1077, 17), (120, 17))
y_train.shape, y_test.shape
((1077,), (120,))
new_num_col.columns
Index(['team', 'targeted_productivity', 'smv', 'wip', 'over_time', 'incentive',
'idle_time', 'idle_men', 'no_of_style_change', 'no_of_workers',
'actual_productivity', 'prod_per_worker',
'diference_prod_targeted_actual', 'time_per_worker',
'idle_men_percent'],
dtype='object')
cat_col
Index(['quarter', 'department', 'day'], dtype='object')
#separaçao de atributos
num_atribs = ['team', 'targeted_productivity', 'smv', 'wip', 'over_time', 'incentive',
'idle_time', 'idle_men', 'no_of_style_change', 'no_of_workers',
'prod_per_worker',
'diference_prod_targeted_actual', 'time_per_worker',
'idle_men_percent']
cat_atribs = ['quarter', 'department', 'day']
#pipeline numerica
num_pipeline = Pipeline([
('robust_scaler', RobustScaler()),
])
#transformaçao de colunas
column_tranf = ColumnTransformer([
('num_pipeline', num_pipeline, num_atribs),
('1hot_enc', OneHotEncoder(), cat_atribs)
])
#definiçao da pipe
pipe = Pipeline([('transform', column_tranf),
('model', Lasso())
])
#teste da pipe
pipe.set_params(model=Ridge()).fit(x_train, y_train)
pipe_pred = pipe.predict(x_test)
#funçao para calcular metricas
def metrics(model_name, y_test, y_pred):
result_list = []
mse = mean_squared_error(y_test, y_pred)
mae = mean_absolute_error(y_test, y_pred)
r2 = r2_score(y_test, y_pred)
mean_percent = mean_absolute_percentage_error(y_test, y_pred)
results = {'model_name':model_name,
'mse':mse,
'mae':mae,
'r2':r2,
'mean_percent':mean_percent,
}
result_list.append({'model_name':results['model_name'],
'mse':results['mse'],
'mae':results['mae'],
'r2':results['r2'],
'mean_percent':results['mean_percent']})
return pd.DataFrame(result_list)
metrics(model_name=Ridge(), y_test=y_test, y_pred=pipe_pred)
| model_name | mse | mae | r2 | mean_percent | |
|---|---|---|---|---|---|
| 0 | Ridge() | 0.000016 | 0.001102 | 0.999314 | 0.001621 |
Treinamento e avaliaçao dos modelos
models = {'Reg_linear':LinearRegression(),
'D_tree':DecisionTreeRegressor(),
'Ada_reg': AdaBoostRegressor(),
'Neural_net':MLPRegressor(),
'Reg_lasso':Lasso(),
'Ridge':Ridge(),
'SVR': SVR()
}
#loop treino/teste
for i, (model_name, model) in enumerate(models.items()):
pipe.set_params(model=model).fit(x_train, y_train)
y_pred = pipe.predict(x_test)
metrics_out = metrics(model_name=model_name, y_pred=y_pred, y_test=y_test)
print('--------------------'*10)
print(metrics_out)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Reg_linear 3.614842e-31 3.261280e-16 1.0 5.249231e-16 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 D_tree 0.001133 0.012992 0.950251 0.022059 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Ada_reg 0.002016 0.036045 0.911488 0.056766 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Neural_net 0.296422 0.17167 -12.014323 0.249715 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Reg_lasso 0.022963 0.114869 -0.008171 0.207104 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Ridge 0.000016 0.001102 0.999314 0.001621 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 SVR 0.005414 0.049011 0.762313 0.079265
Cross val score
for i, (val_name, val_score) in enumerate(models.items()):
estimator = pipe.set_params(model=val_score).fit(x_train, y_train)
cross_val = cross_val_score(estimator, x_train, y_train, cv=10, scoring='r2')
val_results = {
'score':cross_val,
'score_max':cross_val.max(),
'score_min':cross_val.min(),
'score_media':cross_val.mean()
}
print(val_name)
print(val_results)
print('--------------------'*10)
Reg_linear
{'score': array([1., 1., 1., 1., 1., 1., 1., 1., 1., 1.]), 'score_max': 1.0, 'score_min': 1.0, 'score_media': 1.0}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
D_tree
{'score': array([0.99097702, 0.97001638, 0.93358129, 0.91852691, 0.94376818,
0.98747592, 0.98174667, 0.98601787, 0.98582663, 0.97617553]), 'score_max': 0.9909770161875467, 'score_min': 0.9185269073808034, 'score_media': 0.9674112407243441}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ada_reg
{'score': array([0.74415946, 0.8767817 , 0.88775314, 0.93848045, 0.9273581 ,
0.90928671, 0.91202064, 0.92818873, 0.93660764, 0.8986932 ]), 'score_max': 0.9384804504204413, 'score_min': 0.7441594568504293, 'score_media': 0.8959329754794686}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Neural_net
{'score': array([ 0.73005864, 0.89382908, 0.84585599, 0.85176282, 0.85536029,
-7.82966404, -2.95336309, 0.45030289, 0.7690593 , 0.43946863]), 'score_max': 0.8938290758050985, 'score_min': -7.829664040828163, 'score_media': -0.49473294869762674}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Reg_lasso
{'score': array([-2.48175097e-01, -1.88445232e-02, -1.10101911e-04, -8.45906091e-03,
-8.68095556e-02, -4.50866801e-02, -2.74757755e-03, -9.39791759e-02,
-1.19315037e-01, -8.09788903e-02]), 'score_max': -0.00011010191133764557, 'score_min': -0.2481750965697378, 'score_media': -0.07045056988967284}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ridge
{'score': array([0.99999643, 0.99999791, 0.99999737, 0.99999787, 0.99999704,
0.99999827, 0.99999764, 0.9999979 , 0.99999787, 0.99999796]), 'score_max': 0.9999982701679605, 'score_min': 0.9999964279023615, 'score_media': 0.9999976269819403}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SVR
{'score': array([0.83015689, 0.89478357, 0.90572522, 0.92009728, 0.89966968,
0.65899328, 0.85303919, 0.90501172, 0.91891975, 0.9128633 ]), 'score_max': 0.9200972778843293, 'score_min': 0.6589932831576895, 'score_media': 0.8699259877083989}
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#plotando y e linhas de prediçao
for i, testes in models.items():
pipe.set_params(model=testes).fit(x_train, y_train)
_pred = pipe.predict(x_test)
plt.figure(figsize=(10,5))
plt.title(f'prediçao modelo {testes}')
sns.scatterplot(x=range(len(y_test)), y=y_test)
sns.lineplot(_pred, color='orange', label=f'prediçao {testes}', linestyle='--')
Relatório dos Modelos
Regressão Linear
Métricas:
MSE: 3.614842e-31
MAE: 3.261280e-16
R²: 1.0
Mean Percent: 5.249231e-16
-> Apresenta scores extremamente altos pela baixa complexidade do modelo em relação aos dados, podendo indicar overfitting.
Árvores de Decisão
Métricas:
MSE: 0.001089
MAE: 0.014322
R²: 0.952174
Mean Percent: 0.024498
-> Boas métricas, com erro baixo e bom desempenho em relação à variabilidade dos dados.
Pode ser uma boa escolha para aplicação futura.
AdaBoosting
Métricas:
MSE: 0.001937
MAE: 0.035939
R²: 0.914977
Mean Percent: 0.056122
-> Assim como a árvore de decisão, o AdaBoost apresenta bom desempenho e trabalha bem com a variabilidade dos dados.
Pode ser considerado para futuro deploy, levando em conta o custo operacional.
Rede Neural
Métricas:
MSE: 0.168849
MAE: 0.140431
R²: -6.413276
Mean Percent: 0.207295
-> Desempenho ruim, com erros altos e baixo score em R².
Dos modelos treinados, é um dos piores.
O desempenho pode melhorar significativamente se ajustarmos os hiperparâmetros.
Regressão Lasso
Métricas:
MSE: 0.022963
MAE: 0.114869
R²: -0.008171
Mean Percent: 0.207104
-> Desempenho ruim, com R² próximo de 0.
Não deve ser levado em consideração neste experimento.
Regressão Ridge
Métricas:
MSE: 0.000016
MAE: 0.001102
R²: 0.999314
Mean Percent: 0.001621
-> Vencedor do experimento.
Beira a perfeição, explicando muito bem a variabilidade dos dados (R² alto) e apresentando erros muito baixos.
Modelo recomendado para produção.
SVR (Suporte a Vetores)
Métricas:
MSE: 0.005414
MAE: 0.049011
R²: 0.762313
Mean Percent: 0.079265
-> Desempenho intermediário.
R² abaixo do esperado, o que limita sua aplicabilidade.
Multicolinaridade
Nossos dados indicam a presença de multicolinearidade, ou seja, duas ou mais variáveis independentes apresentam uma correlação muito alta. Isso pode prejudicar o desempenho do nosso modelo de regressão, reduzindo sua capacidade de generalização e tornando as estimativas dos coeficientes menos confiáveis. Para melhorar a robustez do modelo, é importante identificar e tratar a multicolinearidade adequadamente.
PCA
O PCA transforma os dados originais em um novo conjunto de variáveis não correlacionadas, chamadas componentes principais. Isso ajuda a resolver a multicolinearidade, pois as novas variáveis são ortogonais entre si. Sendo ortogonais, essas variáveis não possuem correlação entre si.
#pipe pca
pipe_pca = Pipeline([('transform', column_tranf),
('pca', PCA()),
('model', Lasso())
])
pipe_pca.set_params(model=Ridge()).fit(x_train, y_train)
pca_pred = pipe_pca.predict(x_test)
metrics(model_name=Lasso(), y_pred=pca_pred, y_test=y_test)
| model_name | mse | mae | r2 | mean_percent | |
|---|---|---|---|---|---|
| 0 | Lasso() | 0.000016 | 0.001102 | 0.999314 | 0.001621 |
#loop treinp/teste utilizando pca
print('treino/avaliaçao pós PCA')
for i, (pca_name, model_pca) in enumerate(models.items()):
pipe.set_params(model=model_pca).fit(x_train, y_train)
pca_pred = pipe.predict(x_test)
pca_out = metrics(model_name=pca_name, y_pred=pca_pred, y_test=y_test)
print('-------------------------------'*10)
print(pca_out)
treino/avaliaçao pós PCA ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Reg_linear 3.614842e-31 3.261280e-16 1.0 5.249231e-16 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 D_tree 0.000964 0.013655 0.957675 0.0242 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Ada_reg 0.001629 0.031384 0.9285 0.04854 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Neural_net 0.043539 0.095303 -0.91159 0.148858 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Reg_lasso 0.022963 0.114869 -0.008171 0.207104 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 Ridge 0.000016 0.001102 0.999314 0.001621 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- model_name mse mae r2 mean_percent 0 SVR 0.005414 0.049011 0.762313 0.079265
No geral, usamos o PCA para tratar a multicolinearidade de nossos modelos. No entanto, observamos uma pequena melhora nos modelos baseados em árvore de decisão. Os outros modelos nao apresentaram mudanças significativas.
A regressão Ridge manteve seu desempenho ótimo.
#vizualizando variancia
pca = pipe_pca.named_steps['pca']
plt.figure(figsize=(10,5))
plt.title('variancia PCA')
sns.lineplot(np.cumsum(pca.explained_variance_ratio_), marker='o', linestyle='--')
plt.xlabel('componentes')
plt.ylabel('variancia')
plt.grid()
plt.show()
Redes neurais - Pytorch
Nessa parte do projeto eu escolhi trabalhar um pouco com o Pytorch, afim de explorar redes profundas. Por tratar de dados temporais, vamos utilizar modelos baseados em recorrencia: LSTM e GRU
Redes recorrentes utilizam a lógica de loop, ou seja, a informação retorna ao processamento, permitindo que os dados persistam.
Long Short Term Memory (LSTM)
As LSTM são redes recorrentes que "lembram" informações de forma mais eficiente, resolvendo problemas como o desaparecimento e explosão do gradiente. Elas possuem células com três portas principais: a porta de entrada, que controla as novas informações a serem armazenadas; a porta de esquecimento, que decide o que deve ser descartado; e a porta de saída, que define as informações usadas na saída. Essa estrutura permite que as LSTM capturem dependências de longo prazo em dados sequenciais, sendo eficazes em tarefas como tradução automática e reconhecimento de fala.
#setando seed
torch.manual_seed(42)
<torch._C.Generator at 0x26dfb0dd350>
x_train.shape
(1077, 17)
#criaçao da classe da LSTM
class LSTM(nn.Module):
def __init__(self):
super().__init__()
self.LSTM1 = nn.LSTM(input_size=28, hidden_size=300)
self.LSTM2 = nn.LSTM(300, 150)
self.LSTM3 = nn.LSTM(150, 50)
self.LSTM4 = nn.LSTM(50, 50, dropout=0.3, num_layers=2)
self.dropout = nn.Dropout(p=0.3)
self.linear = nn.Linear(50, 1)
def forward(self, x):
x, (h1, c1) = self.LSTM1(x)
x, (h2, c2) = self.LSTM2(x)
x, (h3, c3) = self.LSTM3(x)
x, (h4, c4) = self.LSTM4(x)
x = self.dropout(x)
x = x[:, -1, :]
x = self.linear(x)
return x
#escolhendo criterio para o erro e optimizador
model_lstm = LSTM()
criterion = nn.MSELoss()
optmizer = optim.SGD(model_lstm.parameters())
#tranformaçao dos dados
pipe_transf = Pipeline(steps=[
('transf', column_tranf)
])
x_train_torch = pipe_transf.fit_transform(x_train)
#transformaçao dados em np.array
x_array = np.array(x_train_torch)
y_array = np.array(y_train)
type(y_array), type(x_array)
(numpy.ndarray, numpy.ndarray)
#transformaçao dados em tensores
x_train_tensor = torch.Tensor(x_array)
y_train_tensor = torch.Tensor(y_array)
x_train_tensor = x_train_tensor.unsqueeze(1)
y_train_tensor = y_train_tensor.long()
print(x_train_tensor.shape)
torch.Size([1077, 1, 28])
#loop treinamento LSTM
print('estatisticas do treinamento - LSTM')
losses = []
for epoch in range(200):
model_lstm.train()
lstm_pred = model_lstm(x_train_tensor)
lstm_pred = lstm_pred.float()
y_train_tensor = y_train_tensor.float()
loss = criterion(lstm_pred, y_train_tensor)
losses.append(loss.item())
optmizer.zero_grad()
loss.backward()
optmizer.step()
print('----------------------------------'*10)
print(f'epoca {epoch} erro: {loss}')
plt.figure(figsize=(10,5))
plt.title('grafico perda treinamento - LSTM')
plt.plot(losses, color='red')
plt.xlabel('epocas')
plt.ylabel('perdas')
plt.grid()
plt.show()
estatisticas do treinamento - LSTM ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 0 erro: 0.03472690284252167 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 1 erro: 0.034724440425634384 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 2 erro: 0.03469996154308319 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 3 erro: 0.03470443934202194 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 4 erro: 0.03475184738636017 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 5 erro: 0.03473255783319473 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 6 erro: 0.03474593162536621 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 7 erro: 0.03470525145530701 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 8 erro: 0.034683406352996826 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 9 erro: 0.0347057469189167 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 10 erro: 0.034699421375989914 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 11 erro: 0.03467569872736931 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 12 erro: 0.03464388847351074 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 13 erro: 0.034639373421669006 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 14 erro: 0.034610897302627563 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 15 erro: 0.034636758267879486 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 16 erro: 0.03460339456796646 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 17 erro: 0.03469545394182205 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 18 erro: 0.03461607173085213 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 19 erro: 0.03462355211377144 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 20 erro: 0.03457208350300789 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 21 erro: 0.03464953973889351 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 22 erro: 0.034635867923498154 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 23 erro: 0.03464211896061897 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 24 erro: 0.034610867500305176 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 25 erro: 0.03454901650547981 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 26 erro: 0.0346689373254776 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 27 erro: 0.03452972695231438 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 28 erro: 0.03461436554789543 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 29 erro: 0.03452323377132416 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 30 erro: 0.03453131765127182 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 31 erro: 0.034547701478004456 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 32 erro: 0.03454950079321861 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 33 erro: 0.034505922347307205 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 34 erro: 0.034618303179740906 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 35 erro: 0.03451395407319069 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 36 erro: 0.0345558300614357 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 37 erro: 0.0345698744058609 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 38 erro: 0.034488577395677567 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 39 erro: 0.03453578054904938 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 40 erro: 0.03443961590528488 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 41 erro: 0.034463051706552505 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 42 erro: 0.03441356122493744 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 43 erro: 0.0344734750688076 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 44 erro: 0.03448399156332016 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 45 erro: 0.03454704210162163 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 46 erro: 0.03451910242438316 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 47 erro: 0.034431200474500656 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 48 erro: 0.034444719552993774 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 49 erro: 0.034466277807950974 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 50 erro: 0.0344238206744194 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 51 erro: 0.03446142375469208 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 52 erro: 0.03446196764707565 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 53 erro: 0.034374967217445374 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 54 erro: 0.03440548852086067 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 55 erro: 0.034429363906383514 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 56 erro: 0.03436241298913956 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 57 erro: 0.03440447151660919 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 58 erro: 0.03438416123390198 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 59 erro: 0.034354954957962036 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 60 erro: 0.03437965363264084 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 61 erro: 0.03435877710580826 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 62 erro: 0.03442581743001938 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 63 erro: 0.0343286506831646 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 64 erro: 0.0343392938375473 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 65 erro: 0.03438132628798485 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 66 erro: 0.03436542674899101 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 67 erro: 0.0344013012945652 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 68 erro: 0.0343686006963253 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 69 erro: 0.03436741232872009 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 70 erro: 0.03439094126224518 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 71 erro: 0.03440631926059723 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 72 erro: 0.03436863049864769 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 73 erro: 0.034289613366127014 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 74 erro: 0.034327950328588486 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 75 erro: 0.034335657954216 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 76 erro: 0.03437913954257965 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 77 erro: 0.034420326352119446 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 78 erro: 0.034300412982702255 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 79 erro: 0.034300483763217926 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 80 erro: 0.03430865705013275 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 81 erro: 0.034367531538009644 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 82 erro: 0.034380193799734116 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 83 erro: 0.034215297549963 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 84 erro: 0.03427358716726303 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 85 erro: 0.034264642745256424 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 86 erro: 0.03434184566140175 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 87 erro: 0.0343024842441082 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 88 erro: 0.034298624843358994 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 89 erro: 0.03434199467301369 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 90 erro: 0.034290824085474014 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 91 erro: 0.03425167500972748 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 92 erro: 0.034293413162231445 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 93 erro: 0.03425905853509903 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 94 erro: 0.03425371274352074 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 95 erro: 0.03425611928105354 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 96 erro: 0.03419532999396324 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 97 erro: 0.03425117954611778 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 98 erro: 0.0342782624065876 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 99 erro: 0.03428152948617935 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 100 erro: 0.034262415021657944 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 101 erro: 0.03423264995217323 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 102 erro: 0.03419005125761032 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 103 erro: 0.03425784036517143 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 104 erro: 0.03431064635515213 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 105 erro: 0.034170035272836685 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 106 erro: 0.034247297793626785 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 107 erro: 0.03417791426181793 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 108 erro: 0.03421013057231903 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 109 erro: 0.034167274832725525 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 110 erro: 0.0341307707130909 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 111 erro: 0.03427569195628166 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 112 erro: 0.034175995737314224 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 113 erro: 0.03421775624155998 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 114 erro: 0.03421097993850708 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 115 erro: 0.03417767956852913 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 116 erro: 0.034197624772787094 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 117 erro: 0.03413645923137665 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 118 erro: 0.034142594784498215 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 119 erro: 0.0341721810400486 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 120 erro: 0.034185852855443954 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 121 erro: 0.03420320525765419 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 122 erro: 0.03420618921518326 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 123 erro: 0.03411545976996422 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 124 erro: 0.034194815903902054 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 125 erro: 0.03421767055988312 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 126 erro: 0.03411909565329552 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 127 erro: 0.03411369398236275 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 128 erro: 0.03415056690573692 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 129 erro: 0.03416047245264053 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 130 erro: 0.034090280532836914 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 131 erro: 0.03414728865027428 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 132 erro: 0.03414209187030792 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 133 erro: 0.0341358557343483 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 134 erro: 0.03414503484964371 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 135 erro: 0.034151412546634674 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 136 erro: 0.03417307510972023 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 137 erro: 0.03412218391895294 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 138 erro: 0.03407152742147446 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 139 erro: 0.03409768268465996 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 140 erro: 0.03412018343806267 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 141 erro: 0.034103430807590485 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 142 erro: 0.034063681960105896 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 143 erro: 0.0340954065322876 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 144 erro: 0.034005340188741684 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 145 erro: 0.03409615531563759 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 146 erro: 0.03405918553471565 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 147 erro: 0.034085068851709366 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 148 erro: 0.03409608453512192 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 149 erro: 0.034042347222566605 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 150 erro: 0.034040190279483795 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 151 erro: 0.03402642533183098 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 152 erro: 0.03412070497870445 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 153 erro: 0.0340469591319561 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 154 erro: 0.03409657999873161 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 155 erro: 0.03407581150531769 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 156 erro: 0.034079279750585556 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 157 erro: 0.034008488059043884 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 158 erro: 0.034102920442819595 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 159 erro: 0.034047748893499374 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 160 erro: 0.034027185291051865 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 161 erro: 0.034101005643606186 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 162 erro: 0.034054968506097794 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 163 erro: 0.03407488018274307 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 164 erro: 0.03408881276845932 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 165 erro: 0.03409300744533539 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 166 erro: 0.03400752320885658 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 167 erro: 0.03400014713406563 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 168 erro: 0.033980805426836014 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 169 erro: 0.0340644046664238 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 170 erro: 0.03403051942586899 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 171 erro: 0.033992256969213486 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 172 erro: 0.03404192999005318 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 173 erro: 0.033945970237255096 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 174 erro: 0.03404305875301361 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 175 erro: 0.034010518342256546 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 176 erro: 0.033951397985219955 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 177 erro: 0.034022651612758636 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 178 erro: 0.03404965251684189 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 179 erro: 0.03403728827834129 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 180 erro: 0.03401416540145874 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 181 erro: 0.03397141396999359 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 182 erro: 0.033990323543548584 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 183 erro: 0.03394998237490654 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 184 erro: 0.034015193581581116 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 185 erro: 0.033937085419893265 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 186 erro: 0.03398029878735542 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 187 erro: 0.033989425748586655 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 188 erro: 0.03400202840566635 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 189 erro: 0.033985987305641174 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 190 erro: 0.03396650776267052 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 191 erro: 0.03396053984761238 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 192 erro: 0.033950190991163254 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 193 erro: 0.03395099937915802 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 194 erro: 0.033946748822927475 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 195 erro: 0.033962249755859375 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 196 erro: 0.03395281732082367 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 197 erro: 0.03394249826669693 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 198 erro: 0.0339539609849453 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 199 erro: 0.03391988202929497
Gated Recurrent Unit (GRU)
As GRUs são um tipo de rede neural recorrente, similar às LSTM, mas com uma estrutura mais simples. Elas também são projetadas para resolver o problema de desaparecimento e explosão do gradiente, mantendo a capacidade de "lembrar" informações em sequências temporais. As GRUs possuem duas portas principais: a porta de atualização, que controla como as informações passadas e novas devem ser combinadas, e a porta de reset, que decide quais informações anteriores devem ser esquecidas
#criaçao da classe GRU
class GRU(nn.Module):
def __init__(self):
super().__init__()
self.gru1 = nn.GRU(input_size=28,hidden_size=300, batch_first=True)
self.gru2 = nn.GRU(300,150, batch_first=True)
self.gru3 = nn.GRU(150, 50, batch_first=True)
self.gru4 = nn.GRU(50, 50)
self.linear = nn.Linear(50, 1)
self.dropout = nn.Dropout(0.3)
self.batch_norm = nn.BatchNorm1d(50)
def forward(self, x):
x, _ = self.gru1(x)
x, _ = self.gru2(x)
x, _ = self.gru3(x)
x, _ = self.gru4(x)
x = self.batch_norm(x[:, -1, :])
x = self.dropout(x)
x = self.linear(x)
return x
model_gru = GRU()
criterion_gru = nn.MSELoss()
optimizer_gru = optim.Adam(model_gru.parameters(), lr=0.001, weight_decay=1e-5)
scheduler = StepLR(optimizer_gru, step_size=50, gamma=0.1)
#loop treinamento GRU
print('estatisticas treinamento - GRU')
gru_losses = []
for epoch_gru in range(200):
model_gru.train()
gru_pred = model_gru(x_train_tensor).float()
y_train_tensor = y_train_tensor.float()
gru_loss = criterion_gru(gru_pred, y_train_tensor)
gru_losses.append(gru_loss.item())
optimizer_gru.zero_grad()
gru_loss.backward(retain_graph=True)
optimizer_gru.step()
scheduler.step()
print('----------------------------------'*10)
print(f'epoca {epoch_gru} erro: {gru_loss}')
plt.figure(figsize=(10,5))
plt.title('grafico perda treinameto - GRU')
plt.plot(gru_losses, color='red')
plt.xlabel('epocas')
plt.ylabel('perdas')
plt.grid()
plt.show()
estatisticas treinamento - GRU ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 0 erro: 0.8877992630004883 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 1 erro: 0.31527823209762573 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 2 erro: 0.31546396017074585 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 3 erro: 0.28819867968559265 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 4 erro: 0.2290400117635727 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 5 erro: 0.1904841661453247 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 6 erro: 0.2619463801383972 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 7 erro: 0.1887928545475006 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 8 erro: 0.17585135996341705 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 9 erro: 0.20299677550792694 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 10 erro: 0.20287783443927765 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 11 erro: 0.13877610862255096 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 12 erro: 0.19363033771514893 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 13 erro: 0.148996964097023 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 14 erro: 0.15345346927642822 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 15 erro: 0.17667141556739807 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 16 erro: 0.14819768071174622 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 17 erro: 0.13320226967334747 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 18 erro: 0.2134779542684555 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 19 erro: 0.19448009133338928 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 20 erro: 0.19943365454673767 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 21 erro: 0.25441673398017883 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 22 erro: 0.16545948386192322 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 23 erro: 0.1648658812046051 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 24 erro: 0.15957330167293549 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 25 erro: 0.11764509230852127 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 26 erro: 0.14896228909492493 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 27 erro: 0.139964759349823 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 28 erro: 0.17745068669319153 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 29 erro: 0.1940976083278656 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 30 erro: 0.13885143399238586 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 31 erro: 0.13686376810073853 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 32 erro: 0.1344657838344574 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 33 erro: 0.176542729139328 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 34 erro: 0.10499386489391327 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 35 erro: 0.1817292720079422 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 36 erro: 0.16402412950992584 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 37 erro: 0.14506739377975464 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 38 erro: 0.11932140588760376 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 39 erro: 0.13671493530273438 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 40 erro: 0.13167989253997803 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 41 erro: 0.09795118868350983 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 42 erro: 0.1537201851606369 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 43 erro: 0.13675029575824738 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 44 erro: 0.18124888837337494 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 45 erro: 0.12830033898353577 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 46 erro: 0.15452858805656433 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 47 erro: 0.18532685935497284 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 48 erro: 0.10562335699796677 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 49 erro: 0.205404132604599 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 50 erro: 0.10027584433555603 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 51 erro: 0.13217991590499878 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 52 erro: 0.15112128853797913 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 53 erro: 0.09726094454526901 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 54 erro: 0.12344653904438019 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 55 erro: 0.10181047767400742 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 56 erro: 0.12494248151779175 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 57 erro: 0.09421394765377045 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 58 erro: 0.1735238879919052 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 59 erro: 0.10095640271902084 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 60 erro: 0.13137875497341156 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 61 erro: 0.10834814608097076 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 62 erro: 0.12287700176239014 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 63 erro: 0.15951333940029144 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 64 erro: 0.17875711619853973 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 65 erro: 0.1188131719827652 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 66 erro: 0.15363985300064087 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 67 erro: 0.08067096024751663 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 68 erro: 0.09320785105228424 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 69 erro: 0.14039665460586548 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 70 erro: 0.13713040947914124 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 71 erro: 0.10992592573165894 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 72 erro: 0.12142177671194077 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 73 erro: 0.14758163690567017 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 74 erro: 0.08985643088817596 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 75 erro: 0.1176113486289978 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 76 erro: 0.11131847649812698 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 77 erro: 0.12767034769058228 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 78 erro: 0.0984528586268425 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 79 erro: 0.12547850608825684 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 80 erro: 0.11047077924013138 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 81 erro: 0.12117215245962143 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 82 erro: 0.11015547066926956 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 83 erro: 0.09749499708414078 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 84 erro: 0.10144129395484924 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 85 erro: 0.167779803276062 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 86 erro: 0.09386343508958817 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 87 erro: 0.11941741406917572 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 88 erro: 0.10965950042009354 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 89 erro: 0.16642266511917114 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 90 erro: 0.11453448981046677 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 91 erro: 0.1134956032037735 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 92 erro: 0.1107478067278862 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 93 erro: 0.09383486211299896 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 94 erro: 0.11669129878282547 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 95 erro: 0.11042636632919312 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 96 erro: 0.10014316439628601 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 97 erro: 0.12419141083955765 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 98 erro: 0.13851071894168854 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 99 erro: 0.11077858507633209 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 100 erro: 0.14529715478420258 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 101 erro: 0.1613866239786148 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 102 erro: 0.10580229759216309 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 103 erro: 0.08647331595420837 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 104 erro: 0.09345559775829315 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 105 erro: 0.14930635690689087 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 106 erro: 0.09467583149671555 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 107 erro: 0.15391185879707336 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 108 erro: 0.12164567410945892 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 109 erro: 0.11331456154584885 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 110 erro: 0.12525027990341187 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 111 erro: 0.13235396146774292 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 112 erro: 0.11596259474754333 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 113 erro: 0.10855431854724884 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 114 erro: 0.13989292085170746 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 115 erro: 0.13549771904945374 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 116 erro: 0.10387886315584183 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 117 erro: 0.12844449281692505 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 118 erro: 0.13901282846927643 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 119 erro: 0.14062421023845673 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 120 erro: 0.17807237803936005 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 121 erro: 0.11314736306667328 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 122 erro: 0.1464778631925583 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 123 erro: 0.13100886344909668 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 124 erro: 0.12338025867938995 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 125 erro: 0.09336763620376587 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 126 erro: 0.1259457916021347 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 127 erro: 0.15491896867752075 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 128 erro: 0.0857587680220604 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 129 erro: 0.08720828592777252 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 130 erro: 0.15897312760353088 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 131 erro: 0.09339909255504608 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 132 erro: 0.12208452075719833 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 133 erro: 0.1307068020105362 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 134 erro: 0.08967209607362747 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 135 erro: 0.13008970022201538 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 136 erro: 0.09812460839748383 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 137 erro: 0.11524495482444763 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 138 erro: 0.11444736272096634 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 139 erro: 0.12327473610639572 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 140 erro: 0.13340377807617188 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 141 erro: 0.12393312156200409 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 142 erro: 0.11517956852912903 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 143 erro: 0.12503008544445038 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 144 erro: 0.1479952037334442 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 145 erro: 0.14669866859912872 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 146 erro: 0.11304781585931778 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 147 erro: 0.16147416830062866 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 148 erro: 0.1416742503643036 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 149 erro: 0.17356424033641815 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 150 erro: 0.13662977516651154 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 151 erro: 0.11044490337371826 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 152 erro: 0.1057451069355011 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 153 erro: 0.10275763273239136 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 154 erro: 0.12003082782030106 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 155 erro: 0.13990677893161774 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 156 erro: 0.09037083387374878 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 157 erro: 0.14699961245059967 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 158 erro: 0.18086881935596466 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 159 erro: 0.10975343734025955 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 160 erro: 0.11610057204961777 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 161 erro: 0.08808387815952301 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 162 erro: 0.10910220444202423 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 163 erro: 0.08280616998672485 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 164 erro: 0.09343266487121582 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 165 erro: 0.0906841903924942 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 166 erro: 0.11206013709306717 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 167 erro: 0.1466684341430664 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 168 erro: 0.12781639397144318 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 169 erro: 0.11154694110155106 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 170 erro: 0.13519273698329926 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 171 erro: 0.13181079924106598 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 172 erro: 0.09223319590091705 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 173 erro: 0.14516201615333557 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 174 erro: 0.11400113254785538 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 175 erro: 0.14728644490242004 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 176 erro: 0.13836102187633514 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 177 erro: 0.12961885333061218 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 178 erro: 0.10918077081441879 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 179 erro: 0.17819944024085999 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 180 erro: 0.1422644853591919 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 181 erro: 0.10620772838592529 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 182 erro: 0.1175142377614975 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 183 erro: 0.0959508866071701 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 184 erro: 0.10737334936857224 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 185 erro: 0.1394679695367813 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 186 erro: 0.12915673851966858 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 187 erro: 0.1352696716785431 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 188 erro: 0.14186473190784454 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 189 erro: 0.1600455939769745 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 190 erro: 0.19277969002723694 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 191 erro: 0.1196901798248291 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 192 erro: 0.11565166711807251 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 193 erro: 0.1254148781299591 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 194 erro: 0.11641756445169449 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 195 erro: 0.14080582559108734 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 196 erro: 0.09568671882152557 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 197 erro: 0.15134736895561218 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 198 erro: 0.10269539058208466 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- epoca 199 erro: 0.12809720635414124
Os modelos foram configurados com base nas necessidades de cada treinamento, por isso podemos observar diferenças em alguns parâmetros do critério e do otimizador. No entanto, busquei manter as mesmas características em relação à quantidade de camadas ocultas e outros aspectos da arquitetura.
Avaliaçao redes neurais
LSTM
#colocando modelo em modo de avaliaçao
model_lstm.eval()
LSTM( (LSTM1): LSTM(28, 300) (LSTM2): LSTM(300, 150) (LSTM3): LSTM(150, 50) (LSTM4): LSTM(50, 50, num_layers=2, dropout=0.3) (dropout): Dropout(p=0.3, inplace=False) (linear): Linear(in_features=50, out_features=1, bias=True) )
#transformando dados de teste
x_test_array = pipe_transf.fit_transform(x_test)
x_test_tensor = torch.Tensor(x_test_array)
y_test_tensor = torch.Tensor(y_test)
y_test_tensor = y_test_tensor.long()
x_test_tensor = x_test_tensor.unsqueeze(1)
x_test_tensor.shape
#o x_test tem 24 entradas, precisamos de 28
torch.Size([120, 1, 24])
# add criando colunas com 0
padding = torch.zeros(120, 1, 4)
x_test_tensor_padded = torch.cat((x_test_tensor, padding), dim=-1)
x_test_tensor_padded.shape
torch.Size([120, 1, 28])
#criaçao de dataloader
test_dataset = torch.utils.data.TensorDataset(x_test_tensor_padded, y_test_tensor)
test_loader = DataLoader(test_dataset)
#avaliaçao LSTM
total_loss_lstm = 0
num_batches_lstm = 0
mse = nn.MSELoss()
with torch.no_grad():
for x, y in test_loader:
out_lstm = model_lstm(x).squeeze()
loss_lstm = mse(out_lstm, y)
total_loss_lstm += loss_lstm.item()
num_batches_lstm += 1
mean_mse_lstm = total_loss_lstm / num_batches_lstm
print(f'media MSE: {mean_mse_lstm}')
media MSE: 0.0007733288900150607
GRU
#colocando GRU em modo de avaliaçao
model_gru.eval()
GRU( (gru1): GRU(28, 300, batch_first=True) (gru2): GRU(300, 150, batch_first=True) (gru3): GRU(150, 50, batch_first=True) (gru4): GRU(50, 50) (linear): Linear(in_features=50, out_features=1, bias=True) (dropout): Dropout(p=0.3, inplace=False) (batch_norm): BatchNorm1d(50, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True) )
#avaliaçao GRU
total_loss_gru = 0
num_batches_gru = 0
with torch.no_grad():
for x, y in test_loader:
out_gru = model_gru(x)
loss_gru = mse(out_gru, y)
num_batches_gru += loss_gru.item()
num_batches_gru+= 1
mean_mse_gru = total_loss_gru / num_batches_gru
print(f'media MSE {mean_mse_gru}')
media MSE 0.0